home *** CD-ROM | disk | FTP | other *** search
/ Cinema Studio: Frank Herrmann / Cinema Studio - Frank Herrmann.iso / tools / pbm / rexx / pnmsmooth < prev   
Encoding:
Text File  |  1994-06-28  |  1.1 KB  |  61 lines

  1. /* pnmsmooth - smooth out an image by replacing each xel with the
  2.  *             average of its nine immediate neighbors
  3.  *
  4.  *  $VER: pnmsmooth 1.0
  5.  */
  6. parse source junk junk progname junk
  7.  
  8. address command
  9. signal on error
  10. signal on break_c
  11. signal on break_d
  12. signal on ioerr
  13. signal on halt
  14. ID = pragma('Id')
  15.  
  16. call open(err, "CONSOLE:", 'W')
  17. if ~result then exit 20
  18.  
  19. parse arg first tail
  20. if abbrev(first, '-', 1) then call usage
  21. if tail ~= '' then call usage
  22.  
  23. tmp = 'T:psm.'ID
  24. call rm tmp
  25. call open out, tmp, 'W'
  26. if ~result then exit 20
  27.  
  28. call writeln out, P2
  29. call writeln out, 3 3
  30. call writeln out, 18
  31. call writeln out, 10 10 10
  32. call writeln out, 10 10 10
  33. call writeln out, 10 10 10
  34. call writeln out, 10 10 10
  35. call close out
  36. 'pnmconvol' tmp first
  37. call rm tmp
  38. exit 0
  39.  
  40.  
  41. usage:
  42.     call writeln err, 'usage:' progname '[pnmfile]'
  43.     exit 10
  44.  
  45. rm: procedure
  46.     arg name
  47.     signal off error    /* ignore WARN */
  48.     'delete' name 'quiet force >NIL:'
  49.     signal on error
  50.     return
  51.  
  52. error:
  53. break_c:
  54. break_d:
  55. ioerr:
  56. halt:
  57.     call writeln err, progname ': break/error at line' SIGL 'code' RC
  58.     call rm tmp
  59.     exit 20
  60.  
  61.